import { BaseApiService } from './BaseApiService'

/**
 * 用户API服务类
 * 处理所有与用户相关的API请求
 */
export class UserApiService extends BaseApiService {
  /**
   * 构造函数
   */
  constructor() {
    super('/user')
  }

  /**
   * 用户登录
   * @param {string} code - 登录码
   * @returns {Promise} 登录结果
   */
  async login(code) {
    return this.post('/login', { code })
  }

  /**
   * 更新用户信息
   * @param {Object} userInfo - 用户信息
   * @returns {Promise} 更新结果
   */
  async updateUserInfo(userInfo) {
    return this.put('/info', userInfo)
  }

  /**
   * 获取用户信息
   * @returns {Promise} 用户信息
   */
  async getUserInfo() {
    return this.get('/info')
  }

  /**
   * 获取用户积分
   * @returns {Promise} 用户积分信息
   */
  async getUserPoints() {
    return this.get('/points')
  }

  /**
   * 获取用户装饰画列表
   * @param {number} page - 页码
   * @param {number} pageSize - 每页数量
   * @returns {Promise} 装饰画列表
   */
  async getUserDecorations(page = 1, pageSize = 10) {
    return this.get('/decorations', { page, pageSize })
  }
}

// 创建单例实例
export const userApi = new UserApiService() 